import redis
import logging


# 数据库配置信息,用类包裹
class Config(object):
    # SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@127.0.0.1:3306/information12'
    # SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/information12"
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True
    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = '6379'
    # 设置DEBUG,SECRET_KEY
    SECRET_KEY = 'ASFASF'
    DEBUG = True
    # 配置sessison存储信息
    SESSION_TYPE = 'redis' # 指定存储类型
    SESSION_PEAMANENT = False # 需要过期
    SESSION_USE_SIGNER = True # 需要签名存储
    SESSION_REDIS = redis.StrictRedis(REDIS_HOST, REDIS_PORT)
    # 设置过期时间为2天,单位秒
    SESSION_SESSION_LIFETIME = 3600*24*2

    # 默认日志级别
    LEVEL = logging.DEBUG


# 开发模式
class DevelopConfig(Config):
    pass


# 生产模式(线上)
class ProductConfig(Config):
    # 生产环境的数据库可以配置,关闭调试模式
    # DEBUG = False
    LEVEL = logging.ERROR


# 测试模式
class TestConfig(Config):
    # 开启测试模式
    TESTING = True


# 提供一个统一的入口
config_dict = {
    'develop': DevelopConfig,
    'product': ProductConfig,
    'test': TestConfig
}